/**
 * 消息工具函数
 */

/**
 * 判断消息内容是否为音频类型
 * @param content 消息内容
 * @returns 是否为音频消息
 */
export function isAudioContent(content: string): boolean {
  if (!content) return false;
  
  // 检查是否包含音频相关的关键词
  const audioKeywords = ['语音消息', 'voice message', '音声メッセージ', 'audio', 'voice'];
  const lowerContent = content.toLowerCase();
  
  return audioKeywords.some(keyword => lowerContent.includes(keyword.toLowerCase()));
}

/**
 * 格式化历史消息显示文本
 * @param content 消息内容
 * @param language 当前语言 (可选)
 * @returns 格式化后的显示文本
 */
export function formatHistoryMessageContent(content: string, language: string = 'zh'): string {
  if (!content || content.trim() === '') return '';
  
  // 如果是音频消息，显示音频图标和提示文字
  if (isAudioContent(content)) {
    switch (language) {
      case 'en':
        return '🎵 Voice message';
      case 'ja':
        return '🎵 音声メッセージ';
      default:
        return '🎵 语音消息';
    }
  }
  
  // 普通文本消息，限制长度并截断
  const maxLength = 30;
  const trimmedContent = content.trim();
  
  if (trimmedContent.length > maxLength) {
    return trimmedContent.substring(0, maxLength) + '...';
  }
  
  return trimmedContent;
}

/**
 * 获取消息类型显示文本
 * @param content 消息内容
 * @param language 当前语言
 * @returns 类型显示文本
 */
export function getMessageTypeText(content: string, language: string = 'zh'): string {
  if (isAudioContent(content)) {
    switch (language) {
      case 'en':
        return '🎵 Voice message';
      case 'ja':
        return '🎵 音声メッセージ';
      default:
        return '🎵 语音消息';
    }
  }
  
  return content;
} 